#!/bin/sh
# This script can be called in the following ways:
#
# After the package was removed:
#	<postrm> remove
#
# After the package was purged:
#	<postrm> purge
#
# After the package was upgraded:
#	<old-postrm> upgrade <new-version>
# if that fails:
#	<new-postrm> failed-upgrade <old-version>
#
#
# After all of the packages files have been replaced:
#	<postrm> disappear <overwriting-package> <version>
#
#
# If preinst fails during install:
#	<new-postrm> abort-install
#
# If preinst fails during upgrade of removed package:
#	<new-postrm> abort-install <old-version>
#
# If preinst fails during upgrade:
#	<new-postrm> abort-upgrade <old-version>

set -e

# Remove log file when dpkg is purged
remove_logfile() {
    rm -f /var/log/dpkg.log /var/log/dpkg.log.* 2>/dev/null
}

# Cleanup multiarch infodb leftovers
cleanup_multiarch_infodb()
{
    admindir=${DPKG_ADMINDIR:-/var/lib/dpkg}
    pkgadmindir=$admindir/info

    echo "Cleaning up the multiarch dpkg control files database ..."
    ls $pkgadmindir | grep : | while read oldfile; do
        rm "$pkgadmindir/$oldfile"
    done
    rm -f $pkgadmindir/format
}

case "$1" in
    remove)
	;;

    purge)
	remove_logfile
	;;

    upgrade)
	# Downgrade the multiarch db to a “monoarch” db layout
	if dpkg --compare-versions "$2" lt 1.16.2; then
	    cleanup_multiarch_infodb
	fi
	;;

    failed-upgrade|disappear|abort-install|abort-upgrade)
	;;


    *)
	echo "$0 called with unknown argument '$1'" 1>&2
	exit 1
	;;
esac


exit 0
